import * as tslib_1 from "tslib";
import { Entity, NgField, NgObject, EntityList, NgList, NgEntity } from '@farris/devkit';
import { BXMXEntity } from './bxmxentity';
import { BXFJEntity } from './bxfjentity';
import { BillStateF8a4Entity } from './billstatef8a4entity';
import { ProcessInstanceD8DbEntity } from './processinstanced8dbentity';
import { GspUser6a00Entity } from './gspuser6a00entity';
import { SysOrg8facEntity } from './sysorg8facentity';
import { GspUser31a0Entity } from './gspuser31a0entity';
var ROBXDEntity = /** @class */ (function (_super) {
    tslib_1.__extends(ROBXDEntity, _super);
    function ROBXDEntity() {
        return _super !== null && _super.apply(this, arguments) || this;
    }
    tslib_1.__decorate([
        NgField({
            originalDataField: 'ID',
            dataField: 'id',
            primary: true,
            originalDataFieldType: 'String',
            initValue: '',
            path: 'ID',
            validRules: [
                {
                    type: 'required',
                    constraints: [true],
                },
                {
                    type: 'maxLength',
                    constraints: [36],
                    message: '最大长度为36',
                }
            ]
        }),
        tslib_1.__metadata("design:type", String)
    ], ROBXDEntity.prototype, "id", void 0);
    tslib_1.__decorate([
        NgField({
            originalDataField: 'Version',
            dataField: 'version',
            originalDataFieldType: 'DateTime',
            initValue: '0001-01-01T00:00:00',
            path: 'Version',
            enableTimeZone: true,
        }),
        tslib_1.__metadata("design:type", String)
    ], ROBXDEntity.prototype, "version", void 0);
    tslib_1.__decorate([
        NgField({
            originalDataField: 'BillCode',
            dataField: 'billCode',
            originalDataFieldType: 'String',
            initValue: '',
            path: 'BillCode',
            validRules: [
                {
                    type: 'maxLength',
                    constraints: [36],
                    message: '最大长度为36',
                }
            ]
        }),
        tslib_1.__metadata("design:type", String)
    ], ROBXDEntity.prototype, "billCode", void 0);
    tslib_1.__decorate([
        NgField({
            originalDataField: 'TotalSum',
            dataField: 'totalSum',
            originalDataFieldType: 'Number',
            initValue: 0,
            path: 'TotalSum',
        }),
        tslib_1.__metadata("design:type", Object)
    ], ROBXDEntity.prototype, "totalSum", void 0);
    tslib_1.__decorate([
        NgField({
            originalDataField: 'BillType',
            dataField: 'billType',
            originalDataFieldType: 'Enum',
            defaultValue: '',
            initValue: 'CL',
            path: 'BillType',
        }),
        tslib_1.__metadata("design:type", Object)
    ], ROBXDEntity.prototype, "billType", void 0);
    tslib_1.__decorate([
        NgField({
            originalDataField: 'BillDate',
            dataField: 'billDate',
            originalDataFieldType: 'DateTime',
            initValue: '0001-01-01T00:00:00',
            path: 'BillDate',
            enableTimeZone: true,
        }),
        tslib_1.__metadata("design:type", String)
    ], ROBXDEntity.prototype, "billDate", void 0);
    tslib_1.__decorate([
        NgField({
            originalDataField: 'ProjectID',
            dataField: 'projectID',
            originalDataFieldType: 'String',
            initValue: '',
            path: 'ProjectID',
            validRules: [
                {
                    type: 'maxLength',
                    constraints: [36],
                    message: '最大长度为36',
                }
            ]
        }),
        tslib_1.__metadata("design:type", String)
    ], ROBXDEntity.prototype, "projectID", void 0);
    tslib_1.__decorate([
        NgField({
            originalDataField: 'BillNote',
            dataField: 'billNote',
            originalDataFieldType: 'Text',
            initValue: '',
            path: 'BillNote',
        }),
        tslib_1.__metadata("design:type", Object)
    ], ROBXDEntity.prototype, "billNote", void 0);
    tslib_1.__decorate([
        NgField({
            originalDataField: 'AuditStatus',
            dataField: 'auditStatus',
            originalDataFieldType: 'Enum',
            defaultValue: '',
            initValue: 'None',
            path: 'AuditStatus',
        }),
        tslib_1.__metadata("design:type", Object)
    ], ROBXDEntity.prototype, "auditStatus", void 0);
    tslib_1.__decorate([
        NgList({
            dataField: 'bxmxs',
            originalDataField: '',
            type: BXMXEntity
        }),
        tslib_1.__metadata("design:type", EntityList)
    ], ROBXDEntity.prototype, "bxmxs", void 0);
    tslib_1.__decorate([
        NgList({
            dataField: 'bxfjs',
            originalDataField: '',
            type: BXFJEntity
        }),
        tslib_1.__metadata("design:type", EntityList)
    ], ROBXDEntity.prototype, "bxfjs", void 0);
    tslib_1.__decorate([
        NgObject({
            dataField: 'billStatus',
            originalDataField: 'BillStatus',
            type: BillStateF8a4Entity
        }),
        tslib_1.__metadata("design:type", BillStateF8a4Entity)
    ], ROBXDEntity.prototype, "billStatus", void 0);
    tslib_1.__decorate([
        NgObject({
            dataField: 'processInstance',
            originalDataField: 'ProcessInstance',
            type: ProcessInstanceD8DbEntity
        }),
        tslib_1.__metadata("design:type", ProcessInstanceD8DbEntity)
    ], ROBXDEntity.prototype, "processInstance", void 0);
    tslib_1.__decorate([
        NgObject({
            dataField: 'employeeID',
            originalDataField: 'EmployeeID',
            type: GspUser6a00Entity
        }),
        tslib_1.__metadata("design:type", GspUser6a00Entity)
    ], ROBXDEntity.prototype, "employeeID", void 0);
    tslib_1.__decorate([
        NgObject({
            dataField: 'domainID',
            originalDataField: 'DomainID',
            type: SysOrg8facEntity
        }),
        tslib_1.__metadata("design:type", SysOrg8facEntity)
    ], ROBXDEntity.prototype, "domainID", void 0);
    tslib_1.__decorate([
        NgObject({
            dataField: 'projectMrg',
            originalDataField: 'ProjectMrg',
            type: GspUser31a0Entity
        }),
        tslib_1.__metadata("design:type", GspUser31a0Entity)
    ], ROBXDEntity.prototype, "projectMrg", void 0);
    ROBXDEntity = tslib_1.__decorate([
        NgEntity({
            originalCode: "ROBXD",
            nodeCode: "robxds"
        })
    ], ROBXDEntity);
    return ROBXDEntity;
}(Entity));
export { ROBXDEntity };
